﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Animal
    {
        private int leg;

        public int Leg
        {
            get { return this.leg; }
            set { this.leg = value; }
        }
        public void Eat()
        {
            Console.WriteLine("我能吃");
        }
        public void Walk()
        {
            Console.WriteLine("我能走路");
        }
        public void Sleep()
        {
            Console.WriteLine("我能睡觉");
        }
        //public void Cry()
        //{
        //    Console.WriteLine("我能叫");
        //}

        //实现共有的功能，可以做一些准备工作:列如：Cry的准备工作
        //虚方法：
        //在父类中使用 virtual 关键字修饰的方法，就是虚方法。
        //在子类中可以使用 override 关键字对该虚方法进行重写。
        public virtual void Cry()
        {
            Console.WriteLine("深呼吸，张开嘴，我要叫了");
        }
        
    }
}
